/*  ----------------------------------------------------------------------------
 *  Arello Mobile
 *  Fast 3d Engine
 *  ----------------------------------------------------------------------------
 * Except where otherwise noted, this work is licensed under
 * http://creativecommons.org/licenses/by/3.0
 */

#ifndef __LIB3D_HARD_TEXTURERECUBIC_H__
#define __LIB3D_HARD_TEXTURERECUBIC_H__

#include <lib3d/Math_lib3d.h>
#include <pictureformat/PictureFormat.h>
#include "TextureBase.h"

namespace liba
{
namespace lib3d
{
namespace hard
{

class TextureCubic : public TextureBase
{
public:
	TextureCubic(int mipmap_levels, const pictureformat::Format & hardware_format, int width, int height):
		TextureBase(mipmap_levels, hardware_format, width, height)
	{}
	virtual ~TextureCubic()
	{}
	/** Can return 0 to indicate this mipmap level is to be skipped*/
	virtual void * lock(int mipmap_level, int plane, int * stride)=0;
	virtual void unlock(int mipmap_level, int plane)=0;
};


} // namespace hard
} // namespace lib3d
} // namespace liba
using namespace liba;

#endif //__LIB3D_HARD_TEXTUREREFLECTION_H__

